package com.sky.service;

import com.sky.dto.DishDTO;
import com.sky.dto.DishPageQueryDTO;
import com.sky.entity.Dish;
import com.sky.result.PageResult;
import com.sky.vo.DishVO;

import java.util.List;

public interface DishService {
    /*
     * @description:新增菜品
     * @author: song
     * @date: 2024/1/2 14:15
     * @param: [dishDTO]
     * @return: void
     **/
    void saveWithFlavor(DishDTO dishDTO);
    /*
     * @description:菜品分页查询
     * @author: song
     * @date: 2024/1/2 14:15
     * @param: [dishPageQueryDTO]
     * @return: com.sky.result.PageResult
     **/
    PageResult pageQuery(DishPageQueryDTO dishPageQueryDTO);
    /*
     * @description:批量删除菜品
     * @author: song
     * @date: 2024/1/2 14:15
     * @param: [ids]
     * @return: void
     **/
    void deleteBatch(List<Long> ids);
    /*
     * @description:根据id查询菜品相关信息
     * @author: song
     * @date: 2024/1/2 14:15
     * @param: [id]
     * @return: com.sky.vo.DishVO
     **/
    DishVO getByIdWithFlaver(Long id);
    /*
     * @description:修改菜品相关信息
     * @author: song
     * @date: 2024/1/2 14:15
     * @param: [dishDTO]
     * @return: void
     **/
    void updateWithFlavor(DishDTO dishDTO);
    /*
     * @description:根据分类id查询菜品
     * @author: song
     * @date: 2024/1/2 14:15
     * @param: [categoryId]
     * @return: java.util.List<com.sky.entity.Dish>
     **/
    List<Dish> list(Long categoryId);
    /**
     * @description:条件查询菜品和口味
     * @author: song 
     * @date: 2024/1/10 10:14
     * @param: [dish]
     * @return: java.util.List<com.sky.vo.DishVO>
     **/
    List<DishVO> listWithFlavor(Dish dish);

    void startOrStop(Integer status, Long id);
}
